package com.orange.api;

import java.util.Map;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import com.orange.api.dto.FeatureDto;

public interface FeatureAPI
{
    @GET
    @Path("/feature")
    @Produces(MediaType.APPLICATION_JSON)
    FeatureDto[] getFeatures();

    @GET
    @Path("/feature")
    @Produces(MediaType.APPLICATION_JSON)
    FeatureDto getFeatures(@QueryParam("featureId") long featureId);

    @POST
    @Path("/feature")
    @Produces(MediaType.APPLICATION_JSON)
    Response postFeature(Map<String, Object> payload);

    @DELETE
    @Path("/feature/{featureId}")
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    Response deleteFeature(@PathParam("featureId") long featureId);

}
